package com.naiterui.ehp.bs.cms.modules.wms.service;

import org.springframework.web.multipart.MultipartFile;

import com.naiterui.ehp.bp.bo.medication.MedicationDefaultUsageBO;
import com.naiterui.ehp.bp.support.exception.BusinessException;
import com.naiterui.ehp.bs.cms.common.vo.PageParamsVO;
import com.naiterui.ehp.bs.cms.common.vo.PageVO;
import com.naiterui.ehp.bs.cms.modules.wms.vo.MedicineDefaultUsageDetailVO;
import com.naiterui.ehp.bs.cms.modules.wms.vo.MedicineDefaultUsageVO;
import com.naiterui.ehp.bs.cms.modules.wms.vo.MedicineUsageResultVO;

/**
 * 药品配置用法用量和安全用量
 * 
 * @author yangfuya
 */
public interface IMedicineDefaultUsageService {
    /**
     * 药品sku列表
     * 
     * @param pageParamsVO
     *            分页参数
     * @param medicineDefaultUsageVO
     *            条件列表
     * @return 分页数据
     */
    PageVO<MedicineDefaultUsageVO> queryPage(PageParamsVO pageParamsVO, MedicineDefaultUsageVO medicineDefaultUsageVO);

    /**
     * 根据id获取配置详情
     * 
     * @param id
     *            药品skuId
     * @return /
     * @throws BusinessException
     *             /
     */
    MedicineDefaultUsageDetailVO getById(Long id) throws BusinessException;

    /**
     * 编辑药品配置
     * 
     * @param medicationDefaultUsageBO
     *            药品配置bo
     * @throws BusinessException
     *             /
     */
    void edit(MedicationDefaultUsageBO medicationDefaultUsageBO) throws BusinessException;

    /**
     * 导入药品配置
     * 
     * @param file
     *            excel文件
     * @return 导入结果
     * @throws BusinessException
     *             /
     */
    MedicineUsageResultVO importExpert(MultipartFile file) throws BusinessException;

    /**
     * 药品配置模板
     *
     * @return 药品配置模板
     */
    String modelExpert();
}
